#include "Personnel.hpp"
#include "Administratif.hpp"

#include <iostream>

Administratif::Administratif(void) : Personnel() {
    std::cout << "constructeur 1 de la classe Administratif " << std::endl;
}

Administratif::Administratif(const char* name, const char* adress, const double salaire, const unsigned int numBureau)
                            : Personnel(name, adress, salaire, numBureau) {
    this->salaireMensuel = salaire;
    std::cout << "constructeur 2 de la classe Administratif ";
    std::cout << "pour la personne [" << name << "]" << std::endl;
}

Administratif::Administratif(const Administratif &autreAdmin) : Personnel(autreAdmin) {
    this->salaireMensuel = autreAdmin.salaireMensuel;
    std::cout << "constructeur 3 de la classe Administratif ";
    std::cout << "pour la personne [" << autreAdmin.nom << "]" << std::endl;
}

Administratif::~Administratif(void) {
    std::cout << "Destructeur de la classe Administratif " << std::endl;
}

double Administratif::calculerSalaire(void) const {
    return 1.2 * Personnel::salaireMensuel;
}

void Administratif::printInfo(void) {
    std::cout << "Personnel administratif : " << std::endl;
    Personne::printInfo();

    std::cout << "Bureau : " << Personnel::numero_bureau << std::endl;
    std::cout << "Salaire : " << Personnel::calculerSalaire() << std::endl;
}

